/*
  封装通用的操作数据库的方法
*/
function operateDb (sql, params) {
  return new Promise(function (resolve, reject) {
    // 1) 加载 MySQL 模块
    const mysql = require('mysql')

    // 2) 创建 MySQL 连接对象
    const cn = mysql.createConnection({
      // 数据库所在计算机的IP或者域名
      host: 'localhost',
      // 端口
      port: 3307,
      // 数据库名称
      database: 'my119-db',
      // 账号名称
      user: 'root',
      // 账号密码
      password: 'admin123'
    })

    // 3) 连接 MySQL 服务器
    cn.connect()

    // 4) 执行SQL语句
    cn.query(sql, params, (err, result) => {
      // 如果是查询操作，返回的结果是数组类型
      // 如果是增删改操作，返回的结果是对象类型
      if (err) {
        console.log(err)
        // 异常的结果给reject
        return reject(err.message)
      }
      // 正常的结果给resolve
      return resolve(result)
    })

    // 5) 关闭链接  
    cn.end()
  })
}

module.exports.operateDb = operateDb
// module.exports = {
//   operateDb: operateDb
// }